package com.fivefu.core.data.services;

import com.baomidou.mybatisplus.extension.service.IService;
import com.fivefu.core.data.entity.DbFfskyeyeRegion;

import java.util.List;

/**
 * <p>
 * 域 服务类
 * </p>
 *
 * @author 
 * @since 2022-09-01 11:12:00
 */
public interface DbFfskyeyeRegionService extends IService<DbFfskyeyeRegion> {

    /**
     * 查询平台域数据集
     * @param platFormCode
     * @return
     */
    List<DbFfskyeyeRegion> queryPlatFormList(String platFormCode);

    /**
     * 编辑区域和组织架构信息
     * @param region
     * @param platFormCode
     */
    void editorOrganization(DbFfskyeyeRegion region,String platFormCode,String userId);

    /**
     * 根据平台组织唯一编码及平台标记查询本地相关数据
     * @param code          平台组织唯一编码
     * @param platFormCode  平台标记
     * @return
     */
    DbFfskyeyeRegion queryRegion(String code,String platFormCode);

    /**
     * 查询汇总表所有未删除域数据
     * @return
     */
    List<DbFfskyeyeRegion> queryAll();

    /**
     * 区域信息汇总入库
     * @param type  设备平台：海康，大华
     */
    void regionCollect(String type,String userId);

    /**
     * 编辑区域信息
     * @param region 区域信息
     * @param userid 操作用户编号
     */
    Long editRegionById(DbFfskyeyeRegion region, String userid);

    /**
     * 根据组织名称和层级查询相关信息
     * @param regionName   组织名称
     * @param pid   父级组织编号
     * @param id    组织编号
     * @return
     */
    DbFfskyeyeRegion queryRegionByRegionName(String regionName, String platform,Long pid,Long id);

    /**
     * 删除区域
     * @param regionId   区域编号
     * @param userId     操作用户编号
     */
    void deleteRegionById(Long regionId, String userId);
}
